When computers were first developed, they were very expensive. As a result, only large research institutions and corporations could afford to buy them. Consequently, computers were primarily being used to solve scientific problems (e.g., simulating the behavior of fluid) and support business operations of large corporations (e.g., processing accounting and customer records of insurance companies) The software programs designed for these purposes communicate with users using numbers and text. The users of these software programs were technically trained, and were comfortable in such environment. Thus, there were little needs for these program to present information in graphic or image forms
During the past few years, the price of computers decreased drastically. Computers are now purchased by many homes and small businesses. The users are more comfortable in dealing with graphic images (such as bitmap images, vector images and video). As a result, computer environments involving graphic user interface (such as Microsoft Corporation's Windows and Macintosh computer's System 7 operating system) become popular. Consequently, most new computer programs are designed to operate in these environments. For example, many widely used word processor programs have been ported from their text-based environment (operating under Microsoft's MS-DOS) to the graphic-based Windows environment. One advantage of using word processor under this new environment is that the image of text ("text image") in a page on a computer monitor has the same appearance as the page printed out of a printer Thus, the user can see the appearance of a document (and make revisions if the appearance needs to be changed) prior to its printing.
An essential tool in manipulating graphic and text images is scrolling. The need for scrolling arises when the size of a window displaying a graphic/text image is smaller than the full size of the image. Thus, the window can display a portion of the image only. In order to display other portions of the image, a user can "scroll" the image. Typically, the user uses a cursor to indicate the direction of scrolling. The position of the cursor is controlled by a mouse (or other pointing devices) held by the user. The location of the cursor is delivered to the operating system and the application software (e.g., word processor program) controlling the graphic/text image. The images on most display devices need to be refreshed (i.e., re-drawn) periodically, e.g., sixty times per second. During scrolling, the refreshed images would show a series of shifted images depicting movements of the graphic/text image. The operating system and the application software use the position of the cursor to determine how the series of images should be drawn.
An important factor in scrolling is its granularity, i.e., the smallest number of pixels (picture elements) in each scrolling operation. It is found that prior art scrolling of text images is line-by-line and character-by-character, i.e., the minimum scrolling distance is a line or a character. Thus, the granularity is very rough (i.e., a large number of pixels in each scrolling). The result is that scrolling of text images is jerky and unpleasant to watch.